package com.projet.word;

import org.jodconverter.LocalConverter;
import org.jodconverter.office.LocalOfficeManager;

import java.io.File;

public class WorkConvertPdf {
    public static void main(String[] arsg) {
        try {
            // 开始构建
            LocalOfficeManager.Builder builder = LocalOfficeManager.builder();

            // 设置OpenOffice.org安装目录
            builder.officeHome("C:\\Program Files\\LibreOffice");
            // 设置转换端口，默认为8100
            builder.portNumbers(10800);
            // 创建新的进程时，是否终止现有的Office进程
            builder.killExistingProcess(true);
            // 超时时间（默认）
            builder.processTimeout(120000);
            // 延迟时间（默认）
            builder.processRetryInterval(250);
            // 指定允许处理任务的最大时间（默认）
            builder.taskExecutionTimeout(1000 * 60 * 5L);
            // 最大任务数（默认）
            builder.maxTasksPerProcess(200);
            // 生存时间（默认）
            builder.taskQueueTimeout(30000);

            // 启动 LibreOffice 服务
            LocalOfficeManager officeManager = builder.install().build();

            officeManager.start();

            for (int i = 0; i < 1; i++) {

                // 加载Word文档
                File inputFile = new File("C:\\Users\\Administrator\\Desktop\\word\\test.html");
                // 加载Word文档
                File outputFile = new File("C:\\Users\\Administrator\\Desktop\\word\\ab22c_" + System.currentTimeMillis() + ".pdf");

                try {
                    // 执行转换
                    LocalConverter.builder()
                            .officeManager(officeManager)
                            .build()
                            .convert(inputFile)
                            .to(outputFile)
                            .execute();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }


            }

            System.out.println("转换完成！");
        } catch (Exception ex) {

        }

    }
}
